// Decompiled on 周六 2月 22 19:31:49 CST 2025 with Zomboid Decompiler v0.1.3 using Vineflower.
package zombie.ai.states;

import zombie.ai.State;
import zombie.characters.IsoGameCharacter;
import zombie.core.skinnedmodel.advancedanimation.AnimEvent;
import zombie.inventory.InventoryItem;

public final class PlayerAimState extends State {
    private static final PlayerAimState _instance = new PlayerAimState();

    public static PlayerAimState instance() {
        return _instance;
    }

    @Override
    public void enter(IsoGameCharacter owner) {
        if (!"strafe".equals(owner.getPreviousActionContextStateName())) {
            InventoryItem inventoryItem = owner.getPrimaryHandItem();
            if (inventoryItem != null && inventoryItem.getBringToBearSound() != null) {
                owner.getEmitter().playSoundImpl(inventoryItem.getBringToBearSound(), null);
            }
        }
    }

    @Override
    public void execute(IsoGameCharacter owner) {
    }

    @Override
    public void exit(IsoGameCharacter owner) {
    }

    @Override
    public void animEvent(IsoGameCharacter owner, AnimEvent event) {
    }
}
